package com.lfs.market.controller.temp;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 设备管理主表实体类
 */
@Data
@TableName("busi_equi_main_mst_new")
public class BusiEquiMainMstNewEntity {

    /**
     * 设备id，设备id会和采集数据绑定
     */
    @TableId(value = "EQUI_ID", type = IdType.NONE)
    @JsonProperty("EQUI_ID") // 示例别名
    private String equiId;

    /**
     * 设备唯一标识
     */
    @TableField("EQUI_CODE")
    private String equiCode;

    /**
     * 设备名
     */
    @TableField("EQUI_NAME")
    private String equiName;

    /**
     * 设备定义的数据，用于选中的设备模版的区分主键
     */
    @TableField("TYPE_DEF_CLASS_ID")
    private String typeDefClassId;

    /**
     * 类别名称
     */
    @TableField("TYPE_DEF_CLASS_NAME")
    private String typeDefClassName;

    /**
     * 设备一级分组 大分类
     */
    @TableField("TYPE_DEF_GROUP_ID")
    private String typeDefGroupId;

    /**
     * 设备一级分组名
     */
    @TableField("TYPE_DEF_GROUP_NAME")
    private String typeDefGroupName;

    /**
     * 类型id 二级分类
     */
    @TableField("TYPE_DEF_TYPE_ID")
    private String typeDefTypeId;

    /**
     * 类型名称
     */
    @TableField("TYPE_DEF_TYPE_NAME")
    private String typeDefTypeName;

    /**
     * 型号id 三级分类
     */
    @TableField("TYPE_DEF_MODEL_ID")
    private String typeDefModelId;

    /**
     * 型号名称
     */
    @TableField("TYPE_DEF_MODEL_NAME")
    private String typeDefModelName;

    /**
     * 型号id
     */
    @TableField("CONFIG_ID")
    private String configId;

    /**
     * 规格型号
     */
    @TableField("CONFIG")
    private String config;

    /**
     * 出厂编号
     */
    @TableField("PRODUCE_NO")
    private String produceNo;

    /**
     * 生产厂家
     */
    @TableField("FACTORY")
    private String factory;

    /**
     * 生产日期
     */
    @TableField("FACTORY_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date factoryDate;

    /**
     * 购入日期
     */
    @TableField("BUY_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date buyDate;

    /**
     * 全称
     */
    @TableField("TYPE_DEF_FULL_NAME")
    private String typeDefFullName;

    /**
     * 所属状态 1 自有 2 租用
     */
    @TableField("OWNER_TYPE")
    private String ownerType;

    /**
     * 数据状态 1 启用 2 停用
     */
    @TableField("DATA_STATE")
    private String dataState;

    /**
     * 业务状态 1 使用 2 维修 4 报废 9 未知
     */
    @TableField("EQUI_STATE")
    private String equiState;

    /**
     * 工作执行状态
     */
    @TableField("TASK_STEPS")
    private String taskSteps;

    /**
     * 车牌号
     */
    @TableField("PLATE_CODE")
    private String plateCode;

    /**
     * 报审编号
     */
    @TableField("BAOSHEN_CODE")
    private String baoshenCode;

    /**
     * 使用地点
     */
    @TableField("USE_ADRESS")
    private String useAdress;

    /**
     * 入场时间
     */
    @TableField("IN_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date inDate;

    /**
     * 入场计划时间
     */
    @TableField("IN_PLAN_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date inPlanDate;

    /**
     * 入场类型
     */
    @TableField("IN_EQUI_TYPE")
    private String inEquiType;

    /**
     * 入场原因
     */
    @TableField("IN_EQUI_RESULT")
    private String inEquiResult;

    /**
     * 退场计划时间
     */
    @TableField("OUT_PLAN_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date outPlanDate;

    /**
     * 退场时间
     */
    @TableField("OUT_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date outDate;

    /**
     * 退场类型
     */
    @TableField("OUT_EQUI_TYPE")
    private String outEquiType;

    /**
     * 处置描述
     */
    @TableField("DISPOSAL_DESCRIPTION")
    private String disposalDescription;

    /**
     * 退场原因
     */
    @TableField("OUT_EQUI_RESULT")
    private String outEquiResult;

    /**
     * 备注
     */
    @TableField("MEMO")
    private String memo;

    /**
     * 所属公司id
     */
    @TableField("OWNER_COMPANY_ID")
    private String ownerCompanyId;

    /**
     * 所属公司
     */
    @TableField("OWNER_COMPANY_NAME")
    private String ownerCompanyName;

    /**
     * 启用时间，也可以是采购时间
     */
    @TableField("START_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /**
     * 创建人
     */
    @TableField("CREATE_USER")
    private String createUser;

    /**
     * 创建时间
     */
    @TableField(value = "CREATE_DATE", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    /**
     * 修改人
     */
    @TableField("UPDATE_USER")
    private String updateUser;

    /**
     * 修改时间
     */
    @TableField(value = "UPDATE_DATE", fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    /**
     * 停用时间
     */
    @TableField("END_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 创建公司
     */
    @TableField("COMPANY_ID")
    private String companyId;

    /**
     * 项目名称
     */
    @TableField("PROJUSER_NAME")
    private String projuserName;

    /**
     * 项目id
     */
    @TableField("PROJECT_ID")
    private String projectId;

    /**
     * 公司编码
     */
    @TableField("COMPANY_NAME")
    private String companyName;

    /**
     * 创建人名
     */
    @TableField("CREATE_USER_NAME")
    private String createUserName;

    /**
     * 更新人名
     */
    @TableField("UPDATE_USER_NAME")
    private String updateUserName;

    /**
     * 任务类型编码
     */
    @TableField("TYPE_DEF_CODE")
    private String typeDefCode;

    /**
     * 车长id
     */
    @TableField("MNG_USER_ID")
    private String mngUserId;

    /**
     * 车长名
     */
    @TableField("MNG_USER_NAME")
    private String mngUserName;

    /**
     * 系统租户
     */
    @TableField("TENANT_ID")
    private String tenantId;

    /**
     * 0 无错误 1 有错误
     */
    @TableField("IS_INIT_ERROR")
    private Boolean isInitError;

    /**
     * 数据错误消息
     */
    @TableField("ERROR_INFO")
    private String errorInfo;

    /**
     * 电建资产编号（新编号）
     */
    @TableField("USER_CODE")
    private String userCode;

    /**
     * 生产能力
     */
    @TableField("NENGLI")
    private String nengli;

    /**
     * 供方单位
     */
    @TableField("GONGFANG_COMPANY_ID")
    private String gongfangCompanyId;

    /**
     * 供方单位
     */
    @TableField("GONGFANG_COMPANY_NAME")
    private String gongfangCompanyName;

    /**
     * 购入验收时间
     */
    @TableField("CHECK_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkDate;

    /**
     * 原值（元）
     */
    @TableField("YUANZHI")
    private BigDecimal yuanzhi;

    /**
     * 净值（元）
     */
    @TableField("JINGZHI")
    private BigDecimal jingzhi;

    /**
     * 入账时间
     */
    @TableField("RUZHANG_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ruzhangDate;

    /**
     * 折旧年限
     */
    @TableField("ZHEJIU_YEAR")
    private String zhejiuYear;

    /**
     * 折旧完时间
     */
    @TableField("ZHEJIUWAN_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date zhejiuwanDate;

    /**
     * 使用登记证编号
     */
    @TableField("DENGJIZHENG")
    private String dengjizheng;

    /**
     * 注册登记时间
     */
    @TableField("DENGJI_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dengjiDate;

    /**
     * 使用登记证发证机关
     */
    @TableField("DENGJIZHENG_UNIT")
    private String dengjizhengUnit;

    /**
     * 检验报告编号
     */
    @TableField("JIANYAN_REPORT_CODE")
    private String jianyanReportCode;

    /**
     * 设备代码
     */
    @TableField("EQUI_CODE2")
    private String equiCode2;

    /**
     * 核发时间
     */
    @TableField("HEFA_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date hefaDate;

    /**
     * 核发单位
     */
    @TableField("HEFA_UNIT")
    private String hefaUnit;

    /**
     * 0 不监管 1 监管
     */
    @TableField("IS_SUPERVISE")
    private Boolean isSupervise;

    /**
     * 到期时间
     */
    @TableField("DAOQI_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date daoqiDate;

    /**
     * 持证类别
     */
    @TableField("CHIZHENG_TYPE")
    private String chizhengType;

    /**
     * 发证机关
     */
    @TableField("FAZHENG_UNIT")
    private String fazhengUnit;

    /**
     * 证书有效期
     */
    @TableField("ZHENGSHU_YOUXIAOQI_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date zhengshuYouxiaoqiDate;

    /**
     * 保险有效期
     */
    @TableField("BAOXIAN_DATE")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date baoxianDate;

    /**
     * 当前所在的项目序列的id busi_equi_use_main_mst
     */
    @TableField("EQUI_USE_FLOW")
    private String equiUseFlow;

    /**
     * 是否监管 false 不监管 true监管，是暂停的意思，比如正在调拨，或者维护
     */
    @TableField("IS_MONITOR")
    private Boolean isMonitor;

    /**
     * 机械进场时间
     */
    @TableField("EQUI_INDATE")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date equiIndate;

    /**
     * 联系方式
     */
    @TableField("MOBILE")
    private String mobile;

    /**
     * 是否删除 默认 0 未删除
     */
    @TableField("IS_DEL")
    private Boolean isDel;
}